iT邦幫忙

2022 iThome 鐵人賽

DAY 17
0
Modern Web

Node.js系列 第 17

DAY 17 建構網頁的第一步『Http模組』

  • 分享至 

  • xImage
  •  

DAY 17 建構網頁的第一步『Http模組』

{%hackmd BJrTq20hE %}

tags: 第 14 屆 iThome 鐵人賽 (2022)

後腳才剛完成一個實作,前腳我們就要為了下一個實作打基底了,我們理解了JS語言的基本原理事件和建構,是時候做一個自己的網頁了,Node.js本身屬於前端,但因為Node將JS打造成也能夠執行伺服器的語言,使的JS也能夠執行向MonogoDB這樣的後端語言,但本質上來說 Node.js 對於前端的工作比較在行,也因為其高併發的特性很適合做網頁及網路處理,題外話,Netfilx 、 PayPal 、Uber都是Node.js所製作而成的喔,好啦!進到製作網頁的第一步,Http!

Http模組

高樓大廈始於平地,http是最原先能夠和網站建立溝通的模組,所以其方法也很簡單但宣告繁瑣,不過我們可以先了解比較...正確or原始的程式建立方式,這能夠在之後使用比較現代的套件像是Express 前了解其原理。

先來寫個簡單的http Hello World

var http = require('http');
http.createServer(function(req,res){
    res.write("Hello World! Welcome ")
    res.end();

}).listen(8000);

這裡 http先創造了一個伺服器 function(req,res) 是指函數偵測(需求,回復),記得JS的類別基本上是較為複雜的函數比較偏向語法糖,然後.listen或聽取任何從port 8000的任何需求並回復下方的函數。

現在 發揮Node.js前端的優勢,將前端的Http寫在Node裡面像是這樣:

'use strict';

// 匯入http模組:
var http = require('http');

// 建立http server,並傳入回調函數:
var server = http.createServer(function (request, response) {
    // 回調函數接收request和response物件,
    // 獲得HTTP請求的method和url:
    console.log(request.method + ': ' + request.url);
    // 將HTTP響應200寫入response, 同時設定Content-Type: text/html:
    response.writeHead(200, {'Content-Type': 'text/html'});
    // 將HTTP響應的HTML內容寫入response:
    response.end('<h1>Hello world!</h1>');
});

// 讓伺服器監聽8080通訊埠:
server.listen(8080);

console.log('Server is running at http://127.0.0.1:8080/');

執行結果

總結

Node.js對於前段和後端的界線還沒展示給你們看,目前都是前端的工作,但是當之後到了SQL連結資料庫和Mongo.DB進行Backend,我確定能夠將Node.js最強大的一面展現出來,下一篇『DAY 18 Express網頁建置』。


上一篇
WebSocket
下一篇
DAY 18 Express輕鬆幫你建網頁
系列文
Node.js30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言